Auto merge of #1285 - alexcrichton:issue-636, r=huonw
authorbors <bors@rust-lang.org>
Thu, 12 Feb 2015 05:52:50 +0000 (05:52 +0000)
committerbors <bors@rust-lang.org>
Thu, 12 Feb 2015 05:52:50 +0000 (05:52 +0000)
commit0b84923203dce67ff8cf051728b6908c9c2e303c
tree2315b9550ba0df79be9ff0ab121a6185750102e2
parent9404539e80a3614b56f7cdfeec4eb2cd777ee912
parentb20b0f6bd8ba024c4eba43fd2eee9b78615cd4e3
Auto merge of #1285 - alexcrichton:issue-636, r=huonw

Due to libgit2 not supporting HTTP proxies, the custom transport API of the
library must be used to reimplement the HTTP transport with proxy support. The
git2-curl crate implements this transport on top of the curl-rust crate. By
using libcurl we gain all sorts of proxy support for free.

This transport is not used by default, however, as it is not well battle tested
and the architecture is not currently ideal (download the entire repo into
memory on a clone). Only when an HTTP proxy is present is the new transport
used.

The other drawback of git2-curl is that it does not currently support
authentication. If a private git repository is cloned or authentication is
required then it will generate an error instead of correctly asking for
credentials.

Closes #636